Įkelti puslapio turinį

Galite įkelti turinį žemiau esančiam puslapiui. Jei keičiate puslapio pavadinimą, taip pat galite įkelti turinį kitam puslapiui. Jei puslapio pavadinimas tuščias, jis bus pavadintas pagal failo pavadinimą.

Failas, iš kurio įkelti puslapio turinį
Page name
Komentaras
Lietuvos sostine?

Locked History Actions

Global/Regular Expression Print

Žodis angliškai

Global / Regular Expression Print

Santrumpa

GREP

Žodis Lietuviškai

Globalių - reguliarių išraiškų spausdinimas.


Apibrėžimas

GREP yra Unix sistemos komandinės eilutės teksto paieškos įrankis. Pavadinimas kilo nuo ed redaktoriaus komandos g/re/p (angl. global / regular expression / print). GREP komanda ieško failų arba standartinės įvesties eilučių, atitinkančių duotą išraišką, ir atvaizduoją per programos numatytąją išvestį.


Paaiškinimai

Dažniausiai komandos grep naudojamos vėliavėlės yra šios:

  • -i nepaisyti didžiųjų ir mažųjų raidžių skirtumo;
  • -v išvesti į ekraną tik tas eilutes, kuriose nėra ieškomo teksto;
  • -c išvesti į ekraną tik sutampančių eilučių skaičių;
  • -n išvesti į ekraną eilutės numerį ir su ieškomu tekstu sutampančią eilutę;
  • -w išvesti į ekraną eilutes, kuriose yra pilnas sutampantis žodis;
  • -E ieškoti sudėtingų teksto išraiškų (Extended).

Ieškomas tekstas gali būti aprašomas įvairiai. Ieškomos išraiškos gali būti ir labai sudėtingos, ir visai paprastos. Dažniausiai naudojamos tokios ieškomo teksto išraiškos:

  • abc ieško teksto, kur frazė “abc” pasikartoja bet kurioje vietoje;

  • ^abc ieško eilučių, kurios prasideda “abc”;

  • abc$ ieško eilučių, kurios baigiasi “abc”;

  • a..c ieško eilučių, kuriose “a” ir “c” yra atskirtos bet kokiais dviem simboliais (taškai atitinka simbolių skaičių);

  • a.*c ieško eilučių, kuriose “a” ir “c” yra atskirtos bet kokiu simbolių skaičiumi (taškas-žvaigždutė reiškia nulį ir daugiau simbolių).


Pavyzdžiai

Tarkime, turime tokią tekstinę bylą poema.txt:

Mary had a little lamb
Mary fried a lot of spam
Jack ate a Spam sandwich
Jill had a lamb spamwich

---

Rasti visas eilutes, kuriose yra žodis spam (atsižvelgiant į didžiąsias ir mažąsias raides):

grep ’spam’ poema.txt

Gausime:

Mary fried a lot of spam
Jill had a lamb spamwich

---

Rasti visas eilutes, kuriose yra žodis spam (neatsižvelgiant į didžiąsias ir mažąsias raides):

grep -i ’spam’ poema.txt

Gausime:

Mary fried a lot of spam
Jack ate a Spam sandwich
Jill had a lamb spamwich

---

Rasti visas eilutes, kuriose yra pilnas žodis spam:

grep -w ’spam’ poema.txt

Gausime:

Mary fried a lot of spam

---

Rasti eilučių skaičių, kuriose yra žodis spam (neatsižvelgiant į didžiąsias ir mažąsias raides):

grep -ic ’spam’ poema.txt

Gausime:

3

---

Rasti visas eilutes, kuriose nėra žodžio spam (neatsižvelgiant į didžiąsias ir mažąsias raides):

grep -i -v ’spam’ poema.txt

Gausime:

Mary had a little lamb

---

Rasti visas eilutes, kurios prasideda žodžiu Mary:

grep ’^Mary’ poema.txt

Gausime:

Mary had a little lamb
Mary fried a lot of spam

---

Rasti visas eilutes, kurios baigiasi ich:

grep ’ich$’ poema.txt

Gausime:

Jack ate a Spam sandwich
Jill had a lamb spamwich

---

Rasti visas eilutes, kuriose yra had ir lamb, o tarp jų bet koks kiekis simbolių:

grep ’had.*lamb’ poema.txt

Gausime:

Mary had a little lamb
Jill had a lamb spamwich

---

Rasti visas eilutes, kuriose yra žodžiai Jack arba Jill, arba abu kartu:

grep -E ’Jack|Jill’ poema.txt

Gausime:

Jack ate a Spam sandwich
Jill had a lamb spamwich

---

Išvesti į ekraną visas eilutes ir jų numerius, kuriose yra žodžiai spam arba lamb, arba abu kartu:

grep -E -n ’spam|lamb’ poema.txt

Gausime:

1:Mary had a little lamb
2:Mary fried a lot of spam
4:Jill had a lamb spamwich

---

Išvesti į ekraną visų bylų pavadinimus, kuriose yra žodis spam:

grep -l ’spam’ *.*

Gausime:

poema.txt

---

Detalesnis kitų grep komandos funkcijų aprašymas pateiktas Linux dokumentacijoje. Ją galima pasiekti terminale surinkus:

man grep


Naudota literatūra

  1. http://www.opengroup.org/onlinepubs/9699919799/utilities/grep.html

  2. http://en.wikipedia.org/wiki/Grep

  3. http://www.linfo.org/grep.html

  4. http://www.gnu.org/software/grep/doc/grep_13.html#SEC13

  5. http://www.shell-fu.org/lister.php?tag=grep